package top.infopub.mgr.bpa.dao;


import com.github.pagehelper.Page;
import top.infopub.mgr.bpa.domain.WeekEffectPlanDomain;
import top.infopub.mgr.bpa.vo.BpaWeekEffectPlan;
import top.infopub.mgr.bpa.vo.EffectPlanPublicVo;

import java.util.List;

/**
 * 周创效计划 dao layer interface <br/>
 *
 * @author  TODO <br/>
 * @date    2021-06-20 15:36:49 <br/>
 * @since   1.0 <br/>
 */
public interface BpaWeekEffectPlanDao {

	/**
     * 新增数据 <br>
     * @param bpaWeekEffectPlan BPA_WEEK_EFFECT_PLAN 参数对象  <br>
     * @return 新增的数据条数
     */
	int insert(BpaWeekEffectPlan bpaWeekEffectPlan);

	/**
     * 根据主键删除数据 <br>
     * @param sguid   <br>
     * @return 删除的数据条数
     */
    int deleteByPrimaryKey(String sguid);

	/**
     * 根据传入参数删除数据 <br>
     * @param bpaWeekEffectPlan BPA_WEEK_EFFECT_PLAN 参数对象  <br>
     * @return 删除的数据条数
     */
    int delete(BpaWeekEffectPlan bpaWeekEffectPlan);

	/**
     * 根据主键更新数据 <br>
     * @param bpaWeekEffectPlan BPA_WEEK_EFFECT_PLAN 参数对象  <br>
     * @return 更新的数据条数
     */
    int updateByPrimaryKey(BpaWeekEffectPlan bpaWeekEffectPlan);

	/**
     * 根据主键查询数据 <br>
     * @param sguid   <br>
     * @return BpaWeekEffectPlan 数据对象
     */
    BpaWeekEffectPlan selectOne(String sguid);

	/**
     * 根据传入参数查询数据列表 <br>
     * @param effectPlanPublicVo BPA_WEEK_EFFECT_PLAN 参数对象  <br>
     * @return 符合条件的数据集合
     */
    Page<WeekEffectPlanDomain> selectList(EffectPlanPublicVo effectPlanPublicVo);

	/**
     * 统计符合条件的数据数量 <br>
     * @param bpaWeekEffectPlan BPA_WEEK_EFFECT_PLAN 参数对象  <br>
     * @return 符合条件的数据总数
     */
    int selectCount(BpaWeekEffectPlan bpaWeekEffectPlan);

	/**
     * 批量插入数据 <br>
     * @param bpaWeekEffectPlanList BPA_WEEK_EFFECT_PLAN 参数对象  <br>
     * @return 新增的数据条数
     */
    int insertBatch(List<BpaWeekEffectPlan> bpaWeekEffectPlanList);
}